home *** CD-ROM | disk | FTP | other *** search
- #ifndef SYSTEM_MISC_H
- #define SYSTEM_MISC_H TRUE
-
- /*
- ** $VER: misc.h V0.9B
- **
- ** (C) Copyright 1996-1997 DreamWorld Productions.
- ** All Rights Reserved.
- **
- */
-
- #ifndef DPKERNEL_H
- #include <dpkernel/dpkernel.h>
- #endif
-
- /****************************************************************************
- ** Object Referencing structure.
- */
-
- #define REFVERSION 1
- #define TAGS_REFERENCE ((ID_SPCTAGS<<16)|ID_REFERENCE)
-
- struct Reference {
- struct Head Head; /* [00] Standard header */
- APTR Next; /* [12] Next reference */
- APTR Prev; /* [16] Previous reference */
- WORD ObjectID; /* [20] ID of the object */
- WORD Pad; /* [22] Reserved */
- APTR ObjectName; /* [24] Name of the object */
- APTR ModName; /* [28] Name of the module containing the object */
- __asm LONG (*CheckFile)(register __a0 struct File *, register __a1 APTR Buffer);
- WORD ModNumber; /* [36] Module ID number */
-
- /* Private fields below */
-
- struct Segment *Segment;
- struct Module *Module;
- };
-
- #define REFA_ObjectID (TWORD|20)
- #define REFA_ObjectName (TAPTR|24)
- #define REFA_ModName (TAPTR|28)
- #define REFA_CheckFile (TAPTR|32)
- #define REDA_ModNumber (TWORD|36)
-
- /****************************************************************************
- ** Universal Structure, used in the CopyStructure() routine.
- */
-
- #define UNVERSION 1
- #define TAGS_UNIVERSE ((ID_SPCTAGS<<16)|ID_UNIVERSE)
-
- struct Universe {
- struct Head Head;
- APTR Palette;
- WORD Planes;
- WORD ScrWidth;
- WORD ScrHeight;
- WORD Width;
- WORD ByteWidth;
- WORD Height;
- APTR Task;
- LONG Frequency;
- LONG AmtColours;
- WORD ScrMode;
- WORD ScrType;
- APTR Source;
- APTR d;
- APTR Rasterlist;
- WORD ScrXOffset;
- WORD ScrYOffset;
- WORD BmpYOffset;
- WORD BmpXOffset;
- WORD Channel;
- WORD Priority;
- LONG Length;
- WORD Octave;
- WORD Volume;
- };
-
- /****************************************************************************
- ** The SysObject structure. Private.
- */
-
- #define SOVERSION 1
- #define TAGS_SYSOBJECT ((ID_SPCTAGS<<16)|ID_SYSOBJECT)
-
- struct SysObject {
- struct Head Head;
- struct SysObject *Prev; /* Previous object in list */
- struct SysObject *Next; /* Next object in list */
- WORD ObjectID; /* Unique ID of the object, eg ID_PICTURE */
- WORD ClassID; /* Class reference ID */
- BYTE *Name; /* Full name of the object */
- __asm LONG (*CopyToUnv)(register __a0 struct Universe *, register __a1 struct Head *);
- __asm LONG (*CopyFromUnv)(register __a0 struct Universe *, register __a1 struct Head *);
- __asm WORD (*CheckFile)(register __a0 struct File *, register __a1 APTR Buffer);
- __asm struct Head * (*Load)(register __a0 struct File *);
- __asm LONG (*Display)(register __a0 APTR Object);
- __asm struct Head * (*Get)(void);
- __asm void (*Free)(register __a0 APTR Object);
- __asm LONG (*Init)(register __a0 APTR Object, register __a1 APTR Container);
- __asm LONG (*Read)(register __a0 APTR Object, register __a1 APTR Buffer, register __d0 LONG Length);
- __asm LONG (*Write)(register __a0 APTR Object, register __a1 APTR Buffer, register __d0 LONG Length);
- __asm LONG (*Open)(register __a0 struct File *, register __d0 LONG Flags);
- __asm void (*Hide)(register __a0 APTR Object);
- __asm void (*Close)(register __a0 struct File *);
- __asm LONG (*Save)(register __a0 APTR Object, register __a1 struct File *DestFile);
- __asm LONG (*Query)(register __a0 APTR Object);
- __asm LONG (*Activate)(register __a0 APTR Object);
- __asm LONG (*Deactivate)(register __a0 APTR Object);
- __asm LONG (*Draw)(register __a0 APTR Object);
- __asm LONG (*Clear)(register __a0 APTR Object);
- __asm LONG (*Reset)(register __a0 APTR Object);
- __asm LONG (*Flush)(register __a0 APTR Object);
- __asm LONG (*TagTrigger)(register __a0 LONG *TagPos, register __a1 struct Head *);
- struct SysObject *Master;
- __asm LONG (*Lock)(register __a0 APTR Object);
- __asm void (*Unlock)(register __a0 APTR Object);
- __asm LONG (*Detach)(register __a0 APTR Object, register __a1 APTR Parent);
- };
-
- #define SOA_Prev (TAPTR|12)
- #define SOA_Next (TAPTR|16)
- #define SOA_ObjectID (TWORD|20)
- #define SOA_ClassID (TWORD|22)
- #define SOA_Name (TAPTR|24)
- #define SOA_CopyToUnv (TAPTR|28)
- #define SOA_CopyFromUnv (TAPTR|32)
- #define SOA_CheckFile (TAPTR|36)
- #define SOA_Load (TAPTR|40)
- #define SOA_Display (TAPTR|44)
- #define SOA_Get (TAPTR|48)
- #define SOA_Free (TAPTR|52)
- #define SOA_Init (TAPTR|56)
- #define SOA_Read (TAPTR|60)
- #define SOA_Write (TAPTR|64)
- #define SOA_Open (TAPTR|68)
- #define SOA_Hide (TAPTR|72)
- #define SOA_Close (TAPTR|76)
- #define SOA_Save (TAPTR|80)
- #define SOA_Query (TAPTR|84)
- #define SOA_Activate (TAPTR|88)
- #define SOA_Deactivate (TAPTR|92)
- #define SOA_Draw (TAPTR|96)
- #define SOA_Clear (TAPTR|100)
- #define SOA_Reset (TAPTR|104)
- #define SOA_Flush (TAPTR|108)
- #define SOA_TagTrigger (TAPTR|112)
- /*#define SOA_Master (TAPTR|116)*/
- #define SOA_Lock (TAPTR|120)
- #define SOA_Unlock (TAPTR|124)
- #define SOA_Detach (TAPTR|128)
-
- #endif /* SYSTEM_MISC_H */
-